Computing devices continue to become more ubiquitous to daily life. They take the form of computer desktops, laptops, tablet PCs, e-book readers, mobile phones, smartphones, wearable computers, global positioning system (GPS) units, enterprise digital assistants (EDAs), personal digital assistants (PDAs), game consoles, and the like. Further, computing devices are being incorporated into cars, trucks, farm equipment, manufacturing equipment, building environment control (e.g., lighting, HVAC), and home and commercial appliances.
Computing devices generally consist of at least one processing element, such as a central processing unit (CPU), some form of memory, and input and output devices. The variety of computing devices and their subsequent uses necessitate a variety of input devices. One such input device is a touch sensitive surface such as a touch screen or touch pad wherein user input is received through contact between the user's finger or an instrument such as a pen or stylus and the touch sensitive surface. Another input device is an input surface that senses gestures made by a user above the input surface. Either of these methods of input can be used generally for drawing or inputting text. When a user input is text, the computing device must interpret the user's handwriting using an on-line handwriting recognition system or method.
Generally, on-line handwriting recognition systems or methods monitor the initiation of a stroke, such as when the user contacts a touch sensitive surface (pen-down); the termination of a stroke, such as when the user stops contacting a touch sensitive surface (pen-up); and any movements (gestures or strokes) the user makes with his or her finger or pen between the initiation and termination of the stroke.
On-line handwriting recognition systems or methods usually consist of a preprocessing stage, a segmentation stage, a recognition stage, and an interpretation stage. Generally, the preprocessing stage includes discarding irrelevant input data and normalizing, sampling, and removing noise from relevant data. The segmentation stage specifies the different ways to break down the input data into individual characters and words. The recognition generally includes a feature extraction stage, which characterizes the different input segments, and a classification stage which associates the segments with possible character candidates. Finally, the interpretation stage generally includes identifying the characters and/or words associated with the character candidates. In practice, on-line handwriting recognition systems or methods may include these stages along with additional stages. Further, on-line handwriting recognition systems or methods may not clearly delineate each stage.
On-line handwriting recognition systems or methods can be single-stroke or multi-stroke. Single stroke recognition uses single-stroke shorthand for each character of an alphabet (e.g., Palm, Inc.'s Graffiti). These systems or methods have less input errors but require users to memorize new stroke patterns for a whole alphabet. Multi-stroke recognition can recognize natural handwriting and is often necessary when using on-line handwriting recognition systems with languages that include characters that are not easily reduced to single strokes, such as Japanese or Chinese characters.
The type of computing device can also determine the type of handwriting recognition system or method utilized. For instance, if the input surface is large enough (such as a tablet), the user can input text or data anywhere on or above the input surface, as if the user was writing on a piece of paper. As devices become smaller, different systems or methods, such as multi-box or single-box, have been developed. Multi-box systems or methods divide the input surface into multiple areas, such as three boxes, where a user inputs each character in each box, one after another. These are advantageous because character segmentation becomes minimal or unnecessary. They also allow for multi-stroke characters, which can be analyzed with isolated-character recognition techniques.
For even smaller devices, the input surface may not be large enough for multiple boxes, so the surface is essentially a single-box writing interface. In this instance, only one character can be written at a time. Although single-box interfaces lend themselves to single-stroke recognition systems, certain languages, such as Japanese or Chinese, have multi-stroke characters that do not easily reduce to single-stroke shorthand. Further, most natural handwriting contains multi-stroke characters, regardless of the language.
Single-box interfaces using multi-stroke systems or methods create additional problems including determining the beginning and end of characters and clearly displaying the images of the input characters. One way to determine the beginning and end of characters requires the user to explicitly pause between each character. However, this is not optimal because it slows down the user from inputting data. In a single box system or method, where a user is able to input characters continuously and without a pause, input characters would be overlaid or superimposed on each other. This is referred to as superimposed handwriting, overlaid handwriting, or “on-top-writing.”
The present on-line superimposed handwriting recognition system and method provides improved results for user input handwriting recognition by performing segmentation, recognition, and interpretation concurrently, rather than sequentially. The present system and method performs these processes at the same level rather than applying a hierarchy to the steps. By having segmentation, recognition, and interpretation occur collaboratively, the present system provides the user with the best possible character, word, and sentence candidates based on the user input.